草庐IT

python - __init__ 作为构造函数?

全部标签

Javascript - 获取函数(方法)的类所有者

有没有办法知道哪个类拥有一个函数?示例:functionglobalFunc(){//alertMyObject}functionMyObject(){}MyObject.prototype.test=function(){globalFunc();}varo=newMyObject();o.test();//alertMyObject现在我正在使用这个解决方法:functionglobalFunc(){alert(globalFunc.caller.__class__);}functionMyObject(){}MyObject.prototype.test=function(){g

javascript - 添加元素作为字符串与 createElement()

对于我想要完成的事情,我可以使用createElement()或innerHTML和一个字符串。到底哪个才是真正的更快?很长一段时间以来,我一直相信字符串比返回相同结果的内置函数慢得多,但这是真的吗?我问是因为我已经尝试过createElement()并且似乎所有必须添加到每个元素的属性都会减慢速度。不仅如此,它还占用了更多空间。我有一个循环,它根据数组的长度从1到无穷大,但最好在显示减速迹象之前添加多达50个左右的元素。在我希望创建的这50个左右的元素中,还有大约10个元素。因此,它实际上总共创建了大约500个元素。我注意到使用内置函数创建元素的速度比平常快了一点,而且由于我在重置该

javascript - 延迟函数的返回

有没有办法使用setTimeout()来延迟函数的返回?functionfoo(){window.setTimeout(function(){//dosomething},500);//return"somethingbutwaittillsetTimeout()finishes";} 最佳答案 使用promise:constfetchData=()=>newPromise(resolve=>{setTimeout(()=>resolve(apiCall()),3000);});感谢@NikKyriakides更新了答案,他指出as

javascript - 在 JavaScript 中更改函数 "this"值

我正在用一些方法构建一个库,我有一个方法extend和一种方法load.我希望它像这样工作:Core.extend('name',function(message){this.innerHTML=message;});然后要实际运行它,您需要执行以下操作:Core.load('name','Hey!');Core.extend()创建一个具有基于名称的唯一ID的元素。我想制作this==生成的.我知道.call()和.apply(),显然,但它没有改变this它只更改扩展中的回调参数。这是扩展和加载的代码:Core.extend()varextend=function(name,fun

javascript - 如何获取关联数组作为 jQuery.map 的输出?

我正在使用JQuerymap获取输入值数组的函数:varinputs=$("[id^='field']");varvalues=inputs.map(function(){return$(this).val();}).get();我想得到一个[id,value]的关联数组:{id1:value1,id2:value2} 最佳答案 .map()返回一个数组,所以如果你想要一个以id值作为键的对象,那么你可以这样做:functiongetFieldValues(){varvalues={};$("[id^='field']").each

javascript - 保持你的 javascript 结构化和整洁(作为一个 OO 程序员)

我最近一直在玩javascript、HTML5、chrome扩展、jQuery和所有这些好东西。到目前为止,我对javascript的可能性印象深刻,我唯一遇到的困难是构建我的代码并保持代码整洁。在我不知不觉中,功能散落在各处。我一直以面向对象的方式(C++和C#)进行编程,但我发现自己无法保持整洁。如果我在C#中“思考”,感觉我总是以一堆静态util函数结束。我一直在寻找有关javascript中对象的一些信息,但它seemstocomedowntowrappingfunctionsinfunctions.这是构建代码库的好方法吗?从表面上看,它似乎有点hackish。还是有其他方法

javascript - 如何知道事件发生时触发了什么函数(或代码片段)?

我通过使用Firebug工具在浏览器上查看代码来学习HTML和CSS。如果我不明白他们在做什么,我会查阅他们的引用资料。我学到了很多东西。现在我想用同样的方式学习JavaScript(我只是对JS略知一二)。比方说:我打开一个网页(例如Facebook)我点击页面右上角的设置按钮。它显示了一个选项列表(帐户设置、隐私设置、注销……)我知道选项框是一个标签,当我点击设置按钮时它会切换显示/隐藏。据我所知,如果我想测试一个JS片段(使用Firebug),我必须知道它应该在什么时候运行。但我不是Facebook开发人员,我没有编写该代码,所以我无法猜测这一点。当我“点击”设置按钮时,如何知道

javascript - 对象的默认函数?

是否可以在对象上设置默认函数,以便在我调用myObj()时执行该函数?假设我有以下func对象functionfunc(_func){this._func=_func;this.call=function(){alert("calledafunction");this._func();}}vartest=newfunc(function(){//dosomething});test.call();我想用test()替换test.call()。这可能吗? 最佳答案 返回一个函数:functionfunc(_func){this._fu

javascript - 数据绑定(bind) Angular.js 中的函数

在Angular中,我发现你可以将模板绑定(bind)到返回数组的函数,如下所示:{{task.id}}{{task.task}}{{task.start}}{{task.finish}}这非常酷,因为这样我就可以,例如,避免仅仅为了维护数据的过滤版本而保留变量。但是,我也松开了与原始数据的绑定(bind):当基础数据发生变化时,我似乎无法让angular.js发现变化并更新View。有办法吗?我试图在文档中找到任何内容,但找不到非常感谢 最佳答案 如果您从Angular外部更改某些数据,则必须使用$myScope.$apply以便

javascript - D3 排序函数总是传递未定义的参数

使用D32.4.2,我创建了许多路径元素,如下所示:for(vari=0;i它们都按预期绘制到屏幕上。稍后,当用户进行一些输入时,我想将其中一个放在最前面,所以我有一个事件处理程序可以执行此操作:varpathToHighlight=selectPath(pathIndex);varpaths=d3.selectAll("."+PATH_CLASS);paths.sort(function(a,b){if(a===pathToHighlight){return-1;}elseif(b===pathToHighlight){return1;}else{return0;}});在Chrom